package com.zhouyong.leetcode.移除链表元素203;

import com.zhouyong.leetcode.ListNode;

/**
 * @Author 99
 * @Date 2022/9/24 20:39
 * @Version 1.0
 */
public class Test {

    // 给你一个链表的头节点 head 和一个整数 val ，请你删除链表中所有满足 Node.val == val 的节点，并返回 新的头节点 。

    // 返回的结果可以先创建一个新的链表，将头结点置为0，后面的结点就都是传入的结点head，到最后返回新链表头结点的next结点就可以了

    // 输入：head = [1,2,6,3,4,5,6], val = 6
    // 输出：[1,2,3,4,5]

    public ListNode removeElements(ListNode head, int val) {

        ListNode myListNode = new ListNode();
        myListNode.next = head;
        ListNode temp = myListNode;
        while (temp.next != null) {
            if (temp.next.val == val) {
                temp.next = temp.next.next;
            } else {
                temp = temp.next;
            }
        }
        return myListNode.next;
    }
}
